#ifndef __TLB_H__
#define __TLB_H__

#include "common.h"
#include <time.h>
#include <stdio.h>
#include <stdlib.h>


#define TLB_SIZE 64  //页表项数目为64个

typedef struct{
    bool valid;   //标志位，判断该条目是否可用
    uint32_t tag; //标记位，对应虚拟地址中的前20位
    uint32_t page_num; //物理页号
}TLB;

TLB tlb[TLB_SIZE];

void init_tlb();
int read_tlb(uint32_t addr);
void write_tlb(uint32_t lnaddr,uint32_t hwaddr);

#endif
 
